// Copyright (C) ZHENG Zhong <heavyzheng nospam-at gmail D0T com>
//
// $Id: node_set.cpp 317 2009-01-12 11:10:14Z heavyzheng $
//

#ifndef ZZHENG_XML_SOURCE
#define ZZHENG_XML_SOURCE
#endif // ZZHENG_XML_SOURCE

#include <zzheng/xml/dom/libxml2/node_set.hpp>

namespace zzheng {
namespace xml {
namespace dom {
namespace libxml2_ {

    node_set::node_set(): raw_(0) {
        // Do nothing.
    }

    node_set::node_set(xmlNodeSet* px): raw_(px) {
        // Do nothing.
    }

    bool node_set::empty() const {
        return (raw_ == 0 || raw_->nodeNr <= 0);
    }

    size_type node_set::size() const {
        if (raw_ == 0 || raw_->nodeNr <= 0) {
            return 0U;
        } else {
            return raw_->nodeNr;
        }
    }

    node_set::iterator node_set::begin() {
        return iterator(raw_, 0);
    }

    node_set::iterator node_set::end() {
        return iterator(raw_, size());
    }

    node_set::const_iterator node_set::begin() const {
        return const_iterator(raw_, 0);
    }

    node_set::const_iterator node_set::end() const {
        return const_iterator(raw_, size());
    }

} // namespace zzheng::xml::dom::libxml2_
} // namespace zzheng::xml::dom
} // namespace zzheng::xml
} // namespace zzheng




